@color-black: #000;
@color-black-active: #404040;
@color-gray: #eee;
@color-deep-gray: rgb(155, 154, 154);
@color-blue: #2599ee;
@color-blue-hover: rgb(102, 177, 255);
@color-blue-active: rgb(58, 142, 230);
@color-light-blue: #abf;
@color-deep-blue: #3a4f69;
@color-green: #363;
@color-success-green: #a2ff8c;
@color-error-red: #ff969a;

@font-size-h1: 60px;
@font-size-h2: 40px;
@font-size-h3: 25px;
@font-size-h4: 16px;

html,
body {
  font-family: 'PingFang SC', STHeiti, 'Microsoft YaHei', SimHei,
    'Helvetica Neue', Arial, sans-serif;
  & * {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
  }
  a {
    text-decoration: none;
    color: #000;
  }
}

.btn {
  outline: none;
  display: inline-block;
  border: none;
  padding: 0 20px;
  border-radius: 4px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
  &.btn-blue {
    background-color: @color-blue;
    color: white;
    &.active,
    &:hover,
    &:focus {
      background-color: @color-blue-hover;
    }
    &:active {
      background-color: @color-blue-active;
    }
  }
  &.btn-round {
    border-radius: 20px;
  }
  &.active,
  &:active,
  &:hover {
    background-color: @color-black-active;
  }
  transition: all 0.3s;
}

.input-text {
  height: 40px;
  line-height: 40px;
  font-size: @font-size-h4;
  background-color: @color-gray;
  padding: 0 3px;
  border-radius: 5px;
  outline: none;
  border: 1px solid;
  border-color: @color-gray;
  &:focus {
    &:hover {
      border-color: @color-deep-gray;
    }
    border-color: @color-blue;
  }
  transition: all 0.3s;
}

.title-1 {
  font-size: @font-size-h1;
}

.title-2 {
  font-size: @font-size-h2;
  margin: 20px 0;
}

.title-3 {
  font-size: @font-size-h3;
  margin: 10px 0;
}

.title-4 {
  font-size: @font-size-h4;
}

.tabs-nav {
  align-self: flex-end;
  display: flex;
  .tab-nav {
    padding: 20px 25px;
    vertical-align: bottom;
    color: @color-deep-gray;
    border-bottom: 4px solid @color-deep-gray;
    font-weight: bolder;
    &.active,
    &:hover {
      color: @color-black;
      border-bottom-color: @color-black;
      transition: all 0.2s;
    }
  }
}

.tag {
  height: 40px;
  width: 40px;
  line-height: 40px;
  font-size: 30px;
  &.tag-circle {
    border-radius: 50%;
  }
  &.tag-black {
    background-color: @color-black;
    color: #eee;
    text-align: center;
  }
}

.input-year {
  .input-year-picker {
    width: 100%;
    &.active {
      z-index: 999;
      border: 1px solid @color-gray;
      border-bottom: none;
      background-color: #fff;
    }
  }
  .input-year-box {
    position: absolute;
    padding: 10px 20px;
    background-color: #fff;
    grid-template-columns: repeat(4, 1fr);
    overflow-y: auto;
    overflow-x: hidden;
    gap: 10px 20px;
    border-radius: 0 15px 15px 15px;
    box-shadow: 5px 5px 10px @color-deep-gray;
    z-index: 9;
    display: grid;
    visibility: hidden;
    opacity: 0;
    &.active {
      visibility: visible;
      opacity: 1;
    }
    p {
      border-radius: 5px;
      padding: 7px 10px;
      text-align: center;
      vertical-align: middle;
      background-color: #fff;
      &:hover,
      &:active,
      &.active {
        background-color: @color-gray;
        cursor: pointer;
        font-weight: bold;
      }
      &:hover,
      &:active {
        transition: all 0.5s;
      }
    }
    transition: all 0.5s;
  }
  transition: all 0.5s;
}

.input-dual-col-select {
  .input-dual-col-picker {
    width: 100%;
    &.active {
      z-index: 999;
      border: 1px solid @color-gray;
      border-bottom: none;
      background-color: #fff;
    }
  }
  .input-dual-col-box {
    height: 200px;
    display: flex;
    position: absolute;
    padding: 10px 20px;
    background-color: #fff;
    overflow-y: auto;
    overflow-x: hidden;
    gap: 10px 20px;
    border-radius: 0 15px 15px 15px;
    box-shadow: 5px 5px 10px @color-deep-gray;
    z-index: 9;
    visibility: hidden;
    opacity: 0;
    &.active {
      visibility: visible;
      opacity: 1;
    }
    p {
      border-radius: 5px;
      padding: 7px 10px;
      text-align: center;
      vertical-align: middle;
      background-color: #fff;
      &:hover,
      &:active,
      &.active {
        background-color: @color-gray;
        cursor: pointer;
        font-weight: bold;
      }
      &:hover,
      &:active {
        transition: all 0.5s;
      }
    }
    white-space: nowrap;
    .left {
      height: 100%;
      flex-shrink: 0;
      overflow-y: scroll;
      overflow-x: visible;
      display: flex;
      flex-direction: column;
    }
    .right {
      height: 100%;
      overflow-y: scroll;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }
    transition: all 0.5s;
  }
  transition: all 0.5s;
}

.alert {
  padding: 13px 0;
  text-align: center;
  border-radius: 15px;
  display: none;
  &.alert-success {
    background-color: @color-success-green;
  }
  &.alert-error {
    background-color: @color-error-red;
  }
  &.active {
    display: block;
  }
}
